\section{Desarrollo}

	El desarrollo del trabajo se realizó en forma gradual, siguiendo el orden de los ejercicios: GDT y pasar a modo protegido, Interrupciones, Paginación, Funciones para reservar páginas, manejo del sistema de protección y la carga de tareas. Se utilizaron archivos auxiliares dados por la cátedra, que definían la estructura general del sistema, las cuatro tareas 
ya implementadas, macros y un archivo adicional para habilitar la \code{Gate A20}, necesaria para el correcto funcionamiento del trabajo.

El archivo principal, que contiene la lógica más relevante del sistema, es el \code{kernel.asm}. Éste importará y usará los siguientes archivos:

\begin{itemize}
\item Segmentación y Paginación
	
	\begin{itemize}
		
		\item \code{gdt.c}
		\item \code{gdt.h} 
		\item \code{mmu.c}
		\item \code{mmu.h}		
			
	\end{itemize}


\item Interrupciones
	
	\begin{itemize}
		\item \code{idt.c}
		\item \code{idt.h}
		\item \code{isr.asm}
		\item \code{isr.h}
		\item \code{pic.c}
		\item \code{pic.h}
	\end{itemize}
	
\item Tareas
	
	\begin{itemize}
		\item \code{tss.c}
		\item \code{tss.h}
		\item \code{loader.c}
		\item \code{loader.h}
		\item \code{tareas.tsk}
		
	\end{itemize}
	
\item Funciones Auxiliares
	
	\begin{itemize}
		\item \code{klib.h}
		\item \code{klib.asm}
		\item \code{A20.asm}
		\item \code{i386.c}
	\end{itemize}
	
\end{itemize}

	Se comenzo el trabajo creando los segmentos de codigo y datos de 4GB de tamaño, con privilegios 00b y 11b, y se mapeo la memoria de Video. Luego se completo la \code{IDT} para que cuando ocurra una excepción se muestre un mensaje en pantalla indicando el problema. A continuación se procedió a paginar la memoria segun las especificaciones dadas por la catedra.

\pagebreak
